type = struct WEAPON_ESSENCE {
    unsigned int id;
    unsigned int id_major_type;
    unsigned int id_sub_type;
    namechar name[32];
    unsigned int require_projectile;
    char file_model_right[128];
    char file_model_left[128];
    char file_matter[128];
    char file_icon[128];
    int require_strength;
    int require_agility;
    int require_energy;
    int require_tili;
    unsigned int character_combo_id;
    int require_level;
    int level;
    int fixed_props;
    int damage_low;
    int damage_high_min;
    int damage_high_max;
    int magic_damage_low;
    int magic_damage_high_min;
    int magic_damage_high_max;
    float attack_range;
    unsigned int short_range_mode;
    int durability_min;
    int durability_max;
    int levelup_addon;
    int material_need;
    int price;
    int shop_price;
    int repairfee;
    float drop_probability_socket0;
    float drop_probability_socket1;
    float drop_probability_socket2;
    float make_probability_socket0;
    float make_probability_socket1;
    float make_probability_socket2;
    float probability_addon_num0;
    float probability_addon_num1;
    float probability_addon_num2;
    float probability_addon_num3;
    float probability_unique;
    struct {
        unsigned int id_addon;
        float probability_addon;
    } addons[32];
    struct {
        unsigned int id_rand;
        float probability_rand;
    } rands[32];
    struct {
        unsigned int id_unique;
        float probability_unique;
    } uniques[16];
    int durability_drop_min;
    int durability_drop_max;
    int decompose_price;
    int decompose_time;
    unsigned int element_id;
    int element_num;
    int pile_num_max;
    unsigned int has_guid;
    unsigned int proc_type;
}
